﻿namespace Digitalmes.Domain.Mes;

public class MdChannel
{
    [NotNull]
    public string? Name { get; set; }

    public string? Keynote { get; set; }
}

public class MdDevice
{
    [NotNull]
    public string? Name { get; set; }

    [NotNull]
    public string? Model { get; set; }

    [NotNull]
    public string? Host { get; set; }

    public int Port { get; set; }

    public string? Keynote { get; set; }

    [NotNull]
    public List<MdTag>? Tags { get; set; }

    [NotNull]
    public List<MdTagGroup>? TagGroups { get; set; }
}

public class MdTagGroup
{
    [NotNull]
    public string? Name { get; set; }

    public string? Keynote { get; set; }

    [NotNull]
    public List<MdTag>? Tags { get; set; }
}

public class MdTag
{
    [NotNull]
    public string? Name { get; set; }

    [NotNull]
    public string? Address { get; set; }

    public int Length { get; set; }

    [NotNull]
    public string? DataType { get; set; }

    public int ScanRate { get; set; }

    [NotNull]
    public string? Flag { get; set; }

    public string? Keynote { get; set; }

    [NotNull]
    public string? DisplayName { get; set; }

    public string? Group { get; set; }

    [NotNull]
    public string? Identity { get; set; }

    public string? Description { get; set; }

    public List<MdTag>? NormalTags { get; set; }
}
